import type { UserInfo } from "../user";

export interface PlayItem {
  subscribers: [];
  subscribed: boolean;
  creator: UserInfo;
  artists: null;
  tracks: TrackItem[];
  top: boolean;
  updateFrequency: null;
  backgroundCoverId: number;
  backgroundCoverUrl: null;
  titleImage: number;
  titleImageUrl: null;
  englishTitle: null;
  opRecommend: boolean;
  recommendInfo: null;
  subscribedCount: number;
  cloudTrackCount: number;
  userId: number;
  totalDuration: number;
  coverImgId: number;
  privacy: number;
  trackUpdateTime: number;
  trackCount: number;
  updateTime: number;
  commentThreadId: string;
  coverImgUrl: string;
  specialType: number;
  anonimous: false;
  createTime: number;
  highQuality: false;
  newImported: false;
  trackNumberUpdateTime: number;
  playCount: number;
  adType: number;
  description: null;
  tags: [];
  ordered: false;
  status: 0;
  name: string;
  id: number;
  coverImgId_str: string;
  sharedUsers: null;
  shareStatus: null;
  copied: boolean;
}

export interface SongItem {
  name: string;
  al: {
    id: number;
    name: string;
    pic: number;
    picUrl: string;
    pic_str: string;
    tns: [];
  };
  ar: {
    name: string;
    id: number;
  }[];
  id: number;
}

export interface TrackItem {
  name: string;
  al: {
    id: number;
    name: string;
    pic: number;
    picUrl: string;
    pic_str: string;
    tns: [];
  };
  ar: {
    name: string;
    id: number;
  }[];
  id: number;
}

// standard => 标准,higher => 较高, exhigh=>极高, lossless=>无损, hires=>Hi-Res, jyeffect => 高清环绕声, sky => 沉浸环绕声, jymaster => 超清母带
export type SongLevel =
  | "standard"
  | "higher"
  | "exhigh"
  | "lossless"
  | "hires"
  | "jyeffect"
  | "sky"
  | "jymaster";
